package com.qfjy.service;

import com.qfjy.entity.po.User;
import com.qfjy.entity.vo.UserVO;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface UserService {

    /**
     * TODO 列表查询 全部数据
     * @return
     */
    List<User> selectList();

    /**
     * TODO 用户列表 条件查找
     */
    public List<User> listCondition(UserVO userVO);


    /**
     *  TODO 批量添加
     */
    public int insertBatch(List<User> list);

    /**
     * TODO 根据ID进行删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     *  TODO 批量删除
     * @param ids  ids数组
     */
    public int deleteBatch(String[] ids);

    /**
     * TODO
     *  根据id查询用户信息
     */
    public User selectByPrimaryKey(Integer id);

    /**
     * TODO 根据ID修改状态
     * @param status
     * @param id
     * @return
     */
    public int updateUserStatusById(int status,int id);

    /**
     * TODO 查询所有的邮箱
     */
    public List<String> selectListEmail();

    /**
     * TODO 根据wid查询user
     */
    public User selectUserByWid(int wid);

    /**
     * TODO 根据email查询user
     */
    public User selectUserByEmail(String email);

    /**
     * TODO 微信登录（绑定）功能。 更新user wid值 根据email邮箱
     */

    public int updateUserWidByEmail(int wid,String email);

    /**
     * TODO 更新用户信息
     * @param user
     * @return
     */
    int updateByPrimaryKeySelective(User user);
}
